package 微服务.Docker_2.Docker与虚拟机的区别_1;

/**
 * Docker与虚拟机的区别_1
 */
public class index {
    /**
     * Docker可以让一个应用在不同的Linux操作系统中运行<p>
     * 而虚拟机也可以达到类似的效果<p></p>
     * <p>
     * 它们之间的区别是什么？<p>
     * Docker是会把应用所需的依赖、函数以及需要调用的操作系统函数库连同应用本身打包成镜像<p>
     * 这样就是在不同Linux操作系统中依靠内核运行了<p></p>
     * <p>
     * 而虚拟机是用到了一种名为Hypervisor的技术，在操作系统中模拟硬件设备，然后运行另一个操作系统<p>
     * 比如在windows中运行Ubuntu，这样就可以运行Ubuntu应用了<p></p>
     * <p>
     * 在虚拟机中，用户运行的指令会先在内置操作系统与Hypervisor交互<p>
     * 然后再访问外置操作系统去调用硬件<p>
     * 所以虚拟机中运行指令是经过层层处理的<p>
     * 性能就会相对较低<p></p>
     * <p>
     * 因为Docker只打包应用、依赖、函数库、所需的系统函数库<p>
     * 体积一般就会很小，硬盘占用空间一般为几M到几百M<p>
     * 而安装虚拟机动辄几个G十几个G的空间<p></p>
     *
     * @param args
     */
    public static void main(String[] args) {

    }
}
